package in.lib.writer;
import java.util.ArrayList;
import java.util.List;
import in.data.entity.HashEntity;
import in.lib.Constants;
import in.lib.manager.CacheManager;
import in.lib.type.TListWrapper;
import in.model.AdnModel;
import in.model.Message;
import in.model.SimpleUser;
import in.model.User;
public class AutoCompleteWriter
{
public void writeUsernames(List<? extends AdnModel> users)
{
int size = users.size();
TListWrapper listWrapper = CacheManager.getInstance().readFile(Constants.CACHE_AUTOCOMPLETE_USERNAMES, TListWrapper.class);
if (listWrapper == null || (listWrapper != null && listWrapper.getList() == null))
{
listWrapper = new TListWrapper(new ArrayList<SimpleUser>(size), SimpleUser.class);
}
for (int index = 0; index < size; index++)
{
SimpleUser user;
if (users.get(index) instanceof Message)
{
user = new SimpleUser().createFrom(((Message)users.get(index)).getPoster());
}
else if (users.get(index) instanceof User)
{
user = new SimpleUser().createFrom((User)users.get(index));
}
else if (users.get(index) instanceof SimpleUser)
{
user = (SimpleUser)users.get(index);
}
else
{
continue;
}
if (user != null && !listWrapper.getList().contains(user))
{
listWrapper.getList().add(user);
}
}
CacheWriter writer = new CacheWriter(Constants.CACHE_AUTOCOMPLETE_USERNAMES);
writer.write(listWrapper);
}
public void writeHashtags(List<? extends AdnModel> items)
{
int size = items.size();
TListWrapper listWrapper = CacheManager.getInstance().readFile(Constants.CACHE_AUTOCOMPLETE_HASHTAGS, TListWrapper.class);
if (listWrapper == null || (listWrapper != null && listWrapper.getList() == null))
{
listWrapper = new TListWrapper(new ArrayList<HashEntity>(size), HashEntity.class);
}
for (int index = 0; index < size; index++)
{
List<HashEntity> hashes;
if (items.get(index) instanceof Message && ((Message)items.get(index)).getPostText() != null)
{
hashes = ((Message)items.get(index)).getPostText().getHashTags();
}
else if (items.get(index) instanceof User && ((User)items.get(index)).getDescription() != null)
{
hashes = ((User)items.get(index)).getDescription().getHashTags();
}
else
{
continue;
}
for (HashEntity tag : hashes)
{
if (tag != null && !listWrapper.getList().contains(tag))
{
listWrapper.getList().add(tag);
}
}
}
CacheWriter writer = new CacheWriter(Constants.CACHE_AUTOCOMPLETE_HASHTAGS);
writer.write(listWrapper);
}
}